package top.hmtools.adapter;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import top.hmtools.model.MessageBean;
import top.hmtools.model.MsgTemplateBean;
import top.hmtools.model.ReturnInfoBean;

/**
 * 基础的短信适配器类
 * @author Jianghaibo
 *
 */
public abstract class BaseAdapter {

    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
    
    /**
     * 是否启用
    * <br>@return
    * <br>输出参数说明：
    * <br>boolean           
    *
     */
    abstract boolean isEnable();
    
    /**
     * 初始化
    * <br>
    * <br>输出参数说明：
    * <br>void           
    *
     */
    abstract void init();
    
    /**
     * 发送一条短信
    * <br>方法说明：                    sendMsg
    * <br>输入参数说明：           
    * <br>@param msgTemplateBean
    * <br>@param messageBean
    * <br>@return
    * <br>输出参数说明：
    * <br>ReturnInfoBean           
    *
     */
    abstract ReturnInfoBean sendMsg(MsgTemplateBean msgTemplateBean,MessageBean messageBean);
    
    /**
     * 批量发送短信
    * <br>方法说明：                    sendMsg
    * <br>输入参数说明：           
    * <br>@param msgTemplateBean
    * <br>@param messageBean
    * <br>@return
    * <br>输出参数说明：
    * <br>List<ReturnInfoBean>           
    *
     */
    abstract List<ReturnInfoBean> sendMsg(MsgTemplateBean msgTemplateBean,MessageBean... messageBean);
}
